package com.jiangyg.mall.order.enums;

/**
 * 类描述：订单状态
 *
 * @author jiangyg
 * @date 2022-09-03
 */
public enum OrderStatus {

    /**
     * 待付款（新创建订单）
     */
    NEW(0, "待付款"),

    /**
     * 待发货（已付款未发货）
     */
    PAYED(1, "待发货"),

    /**
     * 已发货
     */
    DELIVERED(2, "已发货"),

    /**
     * 已完成
     */
    FINISHED(3, "已完成"),

    /**
     * 已取消
     */
    CANCELLED(4, "已取消"),

    /**
     * 无效订单
     */
    INVALID(5, "无效订单");

    /**
     * 代码
     */
    public final int code;

    /**
     * 名称
     */
    public final String name;

    OrderStatus(int code, String name) {
        this.code = code;
        this.name = name;
    }

    /**
     * 功能描述：根据代码判断值
     *
     * @param code 代码
     * @return ResourceType
     */
    public static OrderStatus decide(int code) {
        for (OrderStatus type : OrderStatus.values()) {
            if (type.code == code) {
                return type;
            }
        }
        return null;
    }

    @Override
    public String toString() {
        return "OrderStatus [code=" + this.code + ", name=" + this.name + "]";
    }

}
